Along with progress of digital technology, the number of devices that record videos and audios in file as digital data has been increasing. The major feature of the digital technology is that all kinds of information can be processed in a standardized manner by handling them as digital data. With the digital technology, videos, audios, and letters can be handled as one file. For example, although, in the case where a caption is put to a video, the video in which letters are included in advance is conventionally recorded and transmitted, in recent years video data and caption data have been multiplexed independently, and then recorded and transmitted, thereby allowing a caption to be switched between ON and OFF at the time of reproduction. As with the caption data corresponding to the video data, auxiliary data that is recorded and transmitted in addition to principal data (main data) is called metadata. The use of metadata is thought to dramatically develop future digital apparatuses.
As with the above-mentioned example, in the case where video data is multiplexed with caption data and the video data multiplexed with the caption data is recorded and transmitted, it is necessary to recognize segments of data to separate the video data and the caption data at the time of reproduction. In the case where both the video data and the caption data are binary data, it is not possible to distinguish a boundary between the video data and the caption data by only observing a data value. When the binary data is in an 8-bit format, the binary data can be a value having 256 steps ranging from 0 to 255 in the decimal number. In the case where there is a value that is prohibited for common use in the video data and the caption data, prohibited data can be used as an identifier for the segments of data. However, because every value ranging from 0 to 255 exists in compressed video data, the prohibited data cannot be used as the identifier for the segments of data.
Consequently, giving a meaning of the identifier to a specific byte sequence generated by combining successive plural data has been attempted. For instance, in MPEG-2 according to Non-patent Reference 1, a specific meaning is given to four bytes of 0x000001** (** represents specific one byte), and the 0x000001** is a start code indicating a start of a sequence, a GOP, a picture, a slice. Further, a false start code is not generated by elaborately designing a table for variable length code to prevent a pattern of the above-mentioned 0x000001** from occurring in the compressed data. However, even when the specific byte sequence 0x000001** having four bytes does not occur in the variable-length-coded data stipulated by the standard, in the case where a data sequence identical to the start code is included in given metadata to be multiplexed, the start code is falsely detected to prevent normal decoding. Thus, in the MPEG-2, a data sequence 0x000001 is prohibited to be in user data.
Prohibiting the specific byte sequence in data to be multiplexed degrades the degree of freedom of metadata. Consequently, in the H.264 standard according to Non-patent Reference 2, in the case where any of 0x000000, 0x000001, 0x000002, or 0x000003 occurs in valid compressed data, inserting an invalid byte 0x03 for anti-start code emulation after 0x0000 to multiplex the data has been stipulated. At the time of reproduction, the 0x03 following the 0x0000 is deleted and then the 0x0000 is decoded. Accordingly, it becomes possible to accurately multiplex the metadata including the byte sequence identical to the start code (Patent Reference 1).    Non-patent Reference 1: ISO/IEC 13818-2 Information technology—Generic coding of moving pictures and associated audio information: Video    Non-patent Reference 2: ITU-T H.264 Infrastructure of audiovisual services—Coding of moving video: Advanced video coding for generic audiovisual services    Patent Reference 1: Japanese Unexamined Patent Application Publication No. 2000-32394